package com.ylbh.modules.member.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ylbh.common.exception.NormalException;
import com.ylbh.common.pojo.member.dto.ExtensionCount2LevelDTO;
import com.ylbh.common.pojo.member.dto.UpgradeDTO;
import com.ylbh.common.pojo.member.dto.select.UpgradeSelectDTO;
import com.ylbh.common.pojo.member.vo.ExtensionCount2LevelVO;
import com.ylbh.common.pojo.member.vo.ExtensionCountVO;
import com.ylbh.common.utils.PageUtils;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.List;

/**
 * @author mgh
 * @date 2019-04-15 15:35:45
 */
public interface UpgradeService extends IService<UpgradeDTO> {
    /**
     * 消费者数据列表
     * @param params
     * @return
     */
    PageUtils queryPage(UpgradeSelectDTO params);

    /**
     * 会员推广统计
     * @param params
     * @return
     */
    List<ExtensionCountVO> extensionCount(UpgradeSelectDTO params);

    /**
     * 会员推广统计 二级
     * @param params
     * @return
     */
    List<ExtensionCount2LevelVO> extensionCount2Level(UpgradeSelectDTO params);

    /**
     * 导出会员升级
     * @param response
     * @param request
     */
    void upgradeExcel(HttpServletResponse response, HttpServletRequest request) throws NormalException;

    List queryExtensionList(UpgradeSelectDTO dto);

    List queryUpgradeType(UpgradeSelectDTO dto);
}

